DataSource for Entity Framework for WPF/Silverlight
AttachAggregationView<TResult>(Func<View<T>,AggregationView<T,TResult>>) メソッド
使用例 

C1.LiveLinq.LiveViews 名前空間 > View<T> クラス > AttachAggregationView メソッド : AttachAggregationView<TResult>(Func<View<T>,AggregationView<T,TResult>>) メソッド
集計サブビュー内の要素の型。
集計サブビューがアタッチされている先のビューから、そのサブビューを取得する関数。
集計サブクエリーをビューのインクリメンタルメンテナンスメカニズムに含めます。
シンタックス
'宣言
 
Public Overloads Function AttachAggregationView(Of TResult)( _
   ByVal selector As System.Func(Of View(Of T),AggregationView(Of T,TResult)) _
) As AggregationView(Of T,TResult)
public AggregationView<T,TResult> AttachAggregationView<TResult>( 
   System.Func<View<T>,AggregationView<T,TResult>> selector
)

パラメータ

selector
集計サブビューがアタッチされている先のビューから、そのサブビューを取得する関数。

型パラメータ

TResult
集計サブビュー内の要素の型。

戻り値の型

アタッチされている集計サブビュー。
解説

サブクエリーは、外側のクエリーの一部である関数内のクエリーです。 外側のクエリーがライブビューで、そのベースデータが変更されたために関数を再計算する必要がある場合、 デフォルトでは、関数の評価だけが行われます。つまり、このような再計算が行われるたびにサブクエリーの新しいビューオブジェクトが作成されます。 サブビューの作成が繰り返されるのを避けることによってパフォーマンスを向上させるには、AttachAggregationView メソッドを使用して 外側のビューにサブビューを認識させます。これにより、外側のビューは、自身が作成したサブビューオブジェクトをキャッシュおよび再利用します。

1つのビューに複数のサブビューがアタッチされている場合、 subviewId パラメータを持つ AttachAggregationView オーバーロードを使用して、すべてのサブビューに一意のサブビュー ID を提供する必要があります。

var productView = from p in products join s in sales on p.ProductID equals s.ProductID into productSales select new { p.Name, ProductTotal = productSales.AttachAggregationView(v => v.LiveSum(s => s.Quantity)) };
使用例
var productView =
from p in products
join s in sales on p.ProductID equals s.ProductID into productSales
select new
{
p.Name,
ProductTotal = productSales.AttachAggregationView(v => v.LiveSum(s => s.Quantity))
};
参照

View<T> クラス
View<T> メンバ
オーバーロード一覧
AttachView<TResult>(Func<View<T>,View<TResult>>) メソッド